package com.personal.service;

import com.github.pagehelper.PageInfo;
import com.personal.pojo.*;

import java.util.List;
import java.util.Map;

public interface MemberService {
//个人中心
    //1.登录方法
    TMember login(String name,String pass);
    //2.用户注册方法
    int register(TMember member);
    //2.1根据名字查
    List findByName(String username);
    //3.编辑信息
    int editByKey(TMember member);
    //4.根据主键查Member
    TMember selectByKey(Integer key);
    //5.课程表map
    Map findCourseMap(List<TApply> list);

//教练模块
    //查询所有教练
    List selectAll();
    //分页显示coach
    PageInfo splitCoach(int pageNum, int pageSize);
    //会员用户 多条件 查询教练
    PageInfo memFineCoach(int pageNum, int pageSize,String cotype,String coachname);
    //根据教练id查教练
    TCoach findBycoachId(Integer coachid);
//教练预约
    //根据会员id查询会员预约的所有教练
    List findAllCoach(Integer memid);
    //预约教练
    int addReserve(Integer resermem,Integer resercoach);
    //预约教练,查询是否重复报名
    TReserve findByMemCoa(Integer memid,Integer coachid);
    //根据reserveid查reserve
    TReserve findByResId(Integer reserveid);
    //修改
    int editDate(TReserve reserve);

//课程模块
    //查询状态为报名中的所有课程
    PageInfo findAllCourse1(int pageNum, int pageSize);
    //多条件查询,会员功能，查可报名的课程
    PageInfo findByClause(int pageNum, int pageSize,Float minMoney,Float maxMoney,String coursename);
    //根据id查课程
    TCourse findBycourseId(Integer courseId);

//课程报名
    //查询用户是否已报名该课程
    TApply findByMemCourse(Integer applymem, Integer applycourse);
    //插入报名表中
    int addApply(Integer applymem, Integer applycourse);
    //根据用户id查询用户报名的 所有课程，展示在个人中心中
    List findAllcourse(Integer memid);
    //根据用户id查询用户报名的 所有课程，展示在课程报名信息模块中
    List findAllcourseNoEnd(Integer memid);
    //统计课程报名人数
    int countMem(Integer courseId);


}
